﻿using System;

namespace ShapeCalculator
{
    // 三角形类
    public class Triangle : IShape
    {
        public double SideA { get; set; } // 第一条边
        public double SideB { get; set; } // 第二条边
        public double SideC { get; set; } // 第三条边

        public Triangle(double sideA, double sideB, double sideC)
        {
            SideA = sideA;
            SideB = sideB;
            SideC = sideC;
        }

        public double CalculateArea()
        {
            // 使用海伦公式计算三角形面积
            double s = (SideA + SideB + SideC) / 2;
            return Math.Sqrt(s * (s - SideA) * (s - SideB) * (s - SideC));
        }

        public bool IsValid()
        {
            // 三角形边长必须大于0 且任意两边之和大于第三边
            return SideA + SideB > SideC && SideA + SideC > SideB && SideB + SideC > SideA
                && SideA > 0 && SideB > 0 && SideC > 0; 
        }
    }
}